package com.lecyon.farm.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lecyon.farm.base.BaseRequestPageVo;
import com.lecyon.farm.base.BaseResponse;
import com.lecyon.farm.base.RestResponse;
import com.lecyon.farm.entity.FmWorkTotal;
import com.lecyon.farm.vo.query.QueryFmWorkVo;
import com.lecyon.farm.vo.view.FmStatisticDataVo;

import javax.validation.Valid;

/**
 * 农机作业统计数据 Service
 *
 * @author YaoZheng
 * @since 2020-04-02
 */
public interface IFmWorkTotalService extends IService<FmWorkTotal> {

    /**
     * 获取统计后的数据列表
     *
     * @param vo 查询条件
     * @return 查询结果
     */
    RestResponse<Page<FmStatisticDataVo>> getTotalDataList(@Valid BaseRequestPageVo<QueryFmWorkVo> vo);

    /**
     * 获取所有统计后的数据列表并加载到缓存中
     *
     * @return 查询结果
     */
    BaseResponse reloadTotalDataList();

}
